2004年10月12日
川俣晶の縁側辛口甘口雑記 total 4707 count

続・「IISしか使えないという時点でASP.NETは対象外になる運命」と「Webバブル崩壊の可能性」

Written By: 川俣 晶連絡先

 前回の話(「IISしか使えないという時点でASP.NETは対象外になる運命」と「Webバブル崩壊の可能性」)に対して、更になんだかどうにもやる気が無いWeblogさんのなんでIISは嫌われるんだろう?よりトラックバックを頂きました。

 なんでIISは嫌われるんだろう?も長文の労作で、読む価値があると思います。お疲れさまです。

 どうしてIISが嫌われているか、についてはその通りだと思うので、コメントはしません。

 その代わり、以下のところの感想を述べます。

Webサービスとリッチクライアントは、そのあたりを解決する為の一つの手段として(メーカー側は)送り出しているけど、一部のマニアックな運用を除いて、いまいち普及している様に見えなかったりします。それともあまり知られていないだけで、実はあちこちの社内システムがものすごい勢いでWebサービス+リッチクライアントで置き換えられているのかもしれません(←根拠全くなしのただの妄想)。

 残念ながら凄い勢いで置き換えられているという話は聞きませんね。(私が聞いていないだけ、という可能性もありそうですが)

 それはさておき、これを読んでハタと思ったのは、当然のように出てくる「Webサービス」という言葉です。

 いわゆるSOAPを使ったWebサービスと呼ばれるアーキテクチャは不必要に複雑すぎる、重すぎるという批判も多く、それに代わるものとしてRESTというものも提案されています。なぜSOAPが必要とされたのかといえば、プロキシサーバを超えた通信をするため、ということになっていますがこれは多少の欺瞞を含む説明です。通常のXML文書を送受信するだけなら問題なくプロキシサーバを超えられるし、そもそもXML文書は応用ソフト側でデータ構造を定義できる技術ですから、それで必要な情報を送受信できます (つまりそれがRESTということですね)。

 更に、イントラネットのシステムで、遠隔地のマシンもVPN経由で接続してしまうなら、特にプロキシサーバを超える必要もないと思います。その場合、RESTすら必要なく、何を使って通信しても良いわけですね。個人的には、SOAPでもRESTでもないバイナリ形式の.NET Remotingをよく使います。手軽で速いからです。不特定多数に公開する訳でもない特定ソフト間の通信はこれで十分。むしろ、速い分だけSOAPより快適。

 というような状況を考えた時、企業内システムでのWebサービスが必要される技術的な必然性はなく、それどころか複雑すぎ重すぎるという特徴が致命的な欠陥になりかねません。

 というわけで、まだまだ尾を引く「Webサービス」ブームが、使いにくいWebアプリケーションを使い続けねばならない状況を背後から後押ししている可能性もあるかな、という気がしたりしなかったり。

 余談ですが、(.NET Frameworkベースの)ノータッチデプロイメントの方はかなり良い線で利用可能環境が整いつつあるように感じられます。単にノータッチデプロイメントするだけならサーバがIISである必要もないし。クライアントはまだWindowsが主流だし。問題は、クライアントに.NET Frameworkを入れないとならないことですが、実はメーカー製のPCなどはプレインストール済みで出荷されていたりするケースがあるので、みんなが思うより実行環境は普及しているかもしれないと感じます。たとえば、新規に構築するシステムで調達するPCが初期状態でそれを含んでいれば、Webブラウザ上でサーバのクライアントアプリへのリンクをクリックするだけでそれを実行できることができます。そういう感じですから、基本的には環境の更新に伴い自然に普及していくものではないか、という感じがします。

 もっとも、「Webサービス」を常に抱き合わせで一緒に採用しなければならない、という誤解を解消できれば、という条件が付きますが (汗。